package web.fabrimind.dm.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import web.fabrimind.common.annotation.Excel;
import web.fabrimind.common.core.domain.BaseEntity;

/**
 * 设备报警记录对象 equipment_alarm
 * 
 * @author zhihui
 * @date 2025-03-25
 */
public class EquipmentAlarm extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 报警ID */
    private Long alarmId;

    /** 设备ID */
    @Excel(name = "设备ID")
    private Long equipmentId;

    /** 报警编码 */
    @Excel(name = "报警编码")
    private String alarmCode;

    /** 报警名称 */
    @Excel(name = "报警名称")
    private String alarmName;

    /** 报警等级（1:一般 2:重要 3:紧急） */
    @Excel(name = "报警等级", readConverterExp = "1=:一般,2=:重要,3=:紧急")
    private String alarmLevel;

    /** 报警时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date alarmTime;

    /** 解除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "解除时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date clearTime;

    /** 持续时间(分钟) */
    @Excel(name = "持续时间(分钟)")
    private Long duration;

    /** 状态（0:未处理 1:已处理） */
    @Excel(name = "状态", readConverterExp = "0=:未处理,1=:已处理")
    private String status;

    /** 处理人ID */
    @Excel(name = "处理人ID")
    private Long handlerId;

    /** 处理结果 */
    @Excel(name = "处理结果")
    private String handleResult;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String equipmentName;


    public String getEquipmentName() {
        return equipmentName;
    }

    public void setEquipmentName(String equipmentName) {
        this.equipmentName = equipmentName;
    }

    public void setAlarmId(Long alarmId)
    {
        this.alarmId = alarmId;
    }

    public Long getAlarmId() 
    {
        return alarmId;
    }
    public void setEquipmentId(Long equipmentId) 
    {
        this.equipmentId = equipmentId;
    }

    public Long getEquipmentId() 
    {
        return equipmentId;
    }
    public void setAlarmCode(String alarmCode) 
    {
        this.alarmCode = alarmCode;
    }

    public String getAlarmCode() 
    {
        return alarmCode;
    }
    public void setAlarmName(String alarmName) 
    {
        this.alarmName = alarmName;
    }

    public String getAlarmName() 
    {
        return alarmName;
    }
    public void setAlarmLevel(String alarmLevel) 
    {
        this.alarmLevel = alarmLevel;
    }

    public String getAlarmLevel() 
    {
        return alarmLevel;
    }
    public void setAlarmTime(Date alarmTime) 
    {
        this.alarmTime = alarmTime;
    }

    public Date getAlarmTime() 
    {
        return alarmTime;
    }
    public void setClearTime(Date clearTime) 
    {
        this.clearTime = clearTime;
    }

    public Date getClearTime() 
    {
        return clearTime;
    }
    public void setDuration(Long duration) 
    {
        this.duration = duration;
    }

    public Long getDuration() 
    {
        return duration;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setHandlerId(Long handlerId) 
    {
        this.handlerId = handlerId;
    }

    public Long getHandlerId() 
    {
        return handlerId;
    }
    public void setHandleResult(String handleResult) 
    {
        this.handleResult = handleResult;
    }

    public String getHandleResult() 
    {
        return handleResult;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("alarmId", getAlarmId())
            .append("equipmentId", getEquipmentId())
            .append("alarmCode", getAlarmCode())
            .append("alarmName", getAlarmName())
            .append("alarmLevel", getAlarmLevel())
            .append("alarmTime", getAlarmTime())
            .append("clearTime", getClearTime())
            .append("duration", getDuration())
            .append("status", getStatus())
            .append("handlerId", getHandlerId())
            .append("handleResult", getHandleResult())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("equipmentName", getEquipmentName())
            .toString();
    }
}
